﻿using System.Collections.ObjectModel;

namespace CPN.PJN.Silverlight.Common.ExceptionHandling
{
    /// <summary>
    /// Cette classe représente une politique d'exception
    /// </summary>
    public class ExceptionPolicy
    {
        #region Name Property
        
        /// <summary>
        /// Nom de la Politique d'Exception
        /// </summary>
        public string Name { get; set; } 

        #endregion

        #region NotifyRethrow Property
        
        /// <summary>
        /// Remonte ou non l'exception
        /// </summary>
        public bool NotifyRethrow { get; set; } 

        #endregion
        
        #region ExceptionHandlerCollection Property

        /// <summary>
        /// Collection de gestions d'exceptions
        /// </summary>
        public Collection<ExceptionHandler> ExceptionHandlerCollection { get; private set; } 

        #endregion

        #region Constructor
        
        /// <summary>
        /// Constructeur par défaut
        /// </summary>
        public ExceptionPolicy()
        {
            this.ExceptionHandlerCollection = new Collection<ExceptionHandler>();
        } 

        #endregion
    }
}
